home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / gfx / edit / button.lha / button.ifx next >
Text File  |  1998-02-01  |  5KB  |  251 lines

  1. /*
  2.  * $VER: button 0.8
  3.  * by Carl Licke / Turbid design
  4.  * mailto:carl.licke@swipnet.se
  5.  * http://home2.swipnet.se/~w-24653/
  6.  *
  7.  * Arexx script for ImageFX
  8.  */
  9.  
  10. OPTIONS RESULTS
  11.  
  12. gauss  =GETCLIP('button_gauss')
  13. contr  =GETCLIP('button_contr')
  14. shade  =GETCLIP('button_shade')
  15. mgik   =GETCLIP('button_mgik')
  16. aalias =GETCLIP('button_aalias')
  17. bgswap =GETCLIP('button_bgswap')
  18. bgcol  =GETCLIP('button_bgcol')
  19. neg    =GETCLIP('button_neg')
  20. corr   =GETCLIP('button_corr')
  21.  
  22. /* ------ here you may change the defaults ------ */
  23. IF gauss=''  THEN gauss=2
  24. IF contr=''  THEN contr=0
  25. IF shade=''  THEN shade=50
  26. IF mgik=''   THEN mgik=0
  27. IF aalias='' THEN aalias=0
  28. IF bgswap='' THEN bswap=0
  29. IF bgcol=''  THEN bgcol=0
  30. IF neg=''    THEN neg=0
  31. IF corr=''   THEN corr=1
  32.  
  33. Gadget.1 = 'I/140/18/smoothness (0-5)/'gauss
  34. Gadget.2 = 'I/140/35/contr. (-127 - 127)/'contr
  35. Gadget.3 = 'I/140/52/shade (0-100)/'shade
  36. Gadget.4 = 'X/230/19/magic scissors/'mgik
  37. Gadget.5 = 'X/230/36/anti alias/'aalias
  38. Gadget.6 = 'X/230/53/background from swap/'bgswap
  39. Gadget.7 = 'X/230/70/pick color for backg./'bgcol
  40. Gadget.8 = 'X/15/70/pressed button/'neg
  41. Gadget.9 = 'X/15/87/color correction/'corr
  42. Gadget.10= 'X/230/87/save these settings/1'
  43.  
  44. ComplexRequest '"button"' 10 Gadget 430 123
  45. IF rc ~= 0 THEN EXIT
  46.  
  47. gauss  = result.1
  48. contr  = result.2
  49. shade  = result.3
  50. mgik   = result.4
  51. aalias = result.5
  52. bgswap = result.6
  53. bgcol  = result.7
  54. neg    = result.8
  55. corr   = result.9
  56. saveit = result.10
  57.  
  58. ifxver=0
  59. ADDRESS COMMAND 'list ImageFX:Matrix/GuassianLow ImageFX:Matrix/GaussianMedium ImageFX:Matrix/GuassianHigh >NIL:'
  60. IF rc = 0 THEN ifxver=1
  61. ADDRESS COMMAND 'list ImageFX:Storage/Convolve/GaussianLow ImageFX:Storage/Convolve/GaussianMedium ImageFX:Storage/Convolve/GaussianHigh >NIL:'
  62. IF rc = 0 THEN ifxver=2
  63. IF ifxver=0 THEN DO
  64.   RequestNotify 'Error! Please contact carl.licke@swipnet.se'
  65.   EXIT
  66. END
  67.  
  68. IF saveit=1 THEN DO
  69.   CALL SETCLIP('button_gauss', gauss)
  70.   CALL SETCLIP('button_contr', contr)
  71.   CALL SETCLIP('button_shade', shade)
  72.   CALL SETCLIP('button_mgik', mgik)
  73.   CALL SETCLIP('button_aalias', aalias)
  74.   CALL SETCLIP('button_bgswap', bgswap)
  75.   CALL SETCLIP('button_bgcol', bgcol)
  76.   CALL SETCLIP('button_neg', neg)
  77.   CALL SETCLIP('button_corr', corr)
  78. END
  79.  
  80. bgr=255
  81. bgg=255
  82. bgb=255
  83.  
  84. GetPalette '0'
  85. PARSE VAR result r g b
  86.  
  87. IF bgcol=1 & bgswap=1 THEN DO
  88.   RequestNotify 'No background pick, you told me to use swap.'
  89.   bgcol=0
  90. END
  91.  
  92. IF bgcol=1 THEN DO
  93.   ActiveColor 0
  94.   Message 'pick background color'
  95.   Pick
  96.   WaitFor SELECTUP
  97.   GetPalette '-1'
  98.   PARSE VAR result bgr bgg bgb
  99.   Message ''
  100. END
  101.  
  102. Redraw Off
  103.  
  104. Swap
  105. SaveBufferAs ILBM "T:buttontemp.ilbm"
  106. Swap
  107.  
  108. ActiveColor 0
  109. DrawMode Normal
  110. Pen 0 1
  111. AlphaChannel Off
  112. EdgeMode Normal 0
  113. Blend 100
  114. Transparency 0 0 1
  115. FillMode Solid 0 0 0 SMOOTH
  116. Buffer2Swap
  117. IF mgik=0 THEN DO
  118.   Swap
  119.   SaveUndo
  120.   Swap
  121. END
  122. ELSE
  123.   SaveUndo
  124.  
  125. Undo Off
  126.  
  127. GetMain
  128. PARSE VAR result name width height depth
  129.  
  130. IF mgik=1 THEN
  131.   MagicScissors
  132. ELSE
  133.   Scissors
  134. Box 0 0 width height
  135. Region Full
  136.  
  137. Scale width+24 height+24 BORDER
  138.  
  139. ClearBuffer 255 255 255 FORCE
  140.  
  141. ActiveColor 0
  142. SetPalette '-1' 0 0 0
  143.  
  144. DrawMode Color
  145. NewArea
  146. AddArea (width+24)/2 (height+24)/2
  147. FreeDraw
  148. DrawMode Normal
  149. SaveAlphaAs ILBM "T:buttonalphatemp.ilbm"
  150. Buffer2Alpha
  151.  
  152. IF ifxver=1 THEN DO
  153. IF gauss=1 THEN DO
  154.   Convolve "Matrix/GuassianLow"
  155. END
  156. IF gauss=2 THEN DO
  157.   Convolve "Matrix/GaussianMedium"
  158. END
  159. IF gauss=3 THEN DO
  160.   Convolve "Matrix/GuassianHigh"
  161. END
  162. IF gauss=4 THEN DO
  163.   Convolve "Matrix/GuassianHigh"
  164.   Convolve "Matrix/GuassianHigh"
  165. END
  166. IF gauss=5 THEN DO
  167.   Convolve "Matrix/GuassianHigh"
  168.   Convolve "Matrix/GuassianHigh"
  169.   Convolve "Matrix/GuassianHigh"
  170. END
  171. END
  172.  
  173. IF ifxver=2 THEN DO
  174. IF gauss=1 THEN DO
  175.   Convolve "Storage/Convolve/GaussianLow"
  176. END
  177. IF gauss=2 THEN DO
  178.   Convolve "Storage/Convolve/GaussianMedium"
  179. END
  180. IF gauss=3 THEN DO
  181.   Convolve "Storage/Convolve/GaussianHigh"
  182. END
  183. IF gauss=4 THEN DO
  184.   Convolve "Storage/Convolve/GaussianHigh"
  185.   Convolve "Storage/Convolve/GaussianHigh"
  186. END
  187. IF gauss=5 THEN DO
  188.   Convolve "Storage/Convolve/GaussianHigh"
  189.   Convolve "Storage/Convolve/GaussianHigh"
  190.   Convolve "Storage/Convolve/GaussianHigh"
  191. END
  192. END
  193.  
  194. SwapAlpha
  195. Negative
  196. Crop 12 12 width height
  197. SwapAlpha
  198.  
  199. Color2Grey Luma
  200. reliefmap
  201.  
  202. IF neg=0 THEN Negative
  203.  
  204. Contrast contr
  205.  
  206. Crop 11 11 width height
  207.  
  208. Swap
  209. Merge shade ALPHA
  210.  
  211. IF corr=1 THEN DO
  212.   Contrast shade*1.29
  213. END
  214.  
  215. IF mgik=1 THEN DO
  216.   Swap
  217.   ClearBuffer bgr bgg bgb FORCE
  218.  
  219.   IF bgswap=1 THEN DO
  220.     LoadBrush "T:buttontemp.ilbm" FORCE
  221.     FillMode Tile 0 0 0 Smooth
  222.     FloodFill 0 0 1
  223.     FillMode Solid 0 0 0 Smooth
  224.   END
  225.  
  226.   Swap
  227.   MagicScissors
  228.   Box 0 0 width height
  229.   Region Full
  230.   Swap
  231.   IF aalias=1 THEN EdgeMode AntiAlias 0
  232.   NewArea
  233.   AddArea width/2 height/2
  234.   FreeDraw
  235.   EdgeMode Normal 0
  236. END
  237.  
  238. Swap
  239. LoadBuffer "T:buttontemp.ilbm" FORCE
  240. Swap
  241. ADDRESS COMMAND 'Delete "T:buttontemp.ilbm" QUIET'
  242. KillBrush
  243. KillAlpha
  244. LoadAlpha "T:buttonalphatemp.ilbm" Force
  245. ADDRESS COMMAND 'Delete "T:buttonalphatemp.ilbm" QUIET'
  246. SetPalette 0 r g b
  247. Redraw On
  248. Undo On
  249.  
  250. EXIT
  251.